<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Cheetah Software: ContactConstraint.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Cheetah Software
   &#160;<span id="projectnumber">1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="../../annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d5/d79/_contact_constraint_8h_source.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">ContactConstraint.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="../../d5/d79/_contact_constraint_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#ifndef CONTACT_CONSTRAINT_H</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#define CONTACT_CONSTRAINT_H</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d87/_collision_8h.html">Collision/Collision.h</a>&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d5/d9a/_floating_base_model_8h.html">Dynamics/FloatingBaseModel.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d68/_utilities__print_8h.html">Utilities/Utilities_print.h</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d8e/cpp_types_8h.html">cppTypes.h</a>&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="../../d5/d79/_contact_constraint_8h.html#a78d126676907aa89a0adbfbef8282585">   17</a></span>&#160;<span class="preprocessor">#define CC ContactConstraint&lt;T&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html">   20</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d7/d6c/class_contact_constraint.html">ContactConstraint</a> {</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#ad8522d960d6669a66de9d1e5ffe6d8a2">   22</a></span>&#160;  <a class="code" href="../../d7/d6c/class_contact_constraint.html#ad8522d960d6669a66de9d1e5ffe6d8a2">ContactConstraint</a>(<a class="code" href="../../d6/db1/class_floating_base_model.html">FloatingBaseModel&lt;T&gt;</a>* model)</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;      : <a class="code" href="../../d7/d6c/class_contact_constraint.html#a06400ae9c1cbe246b8d5c048a22e3f58">_nContact</a>(0), <a class="code" href="../../d7/d6c/class_contact_constraint.html#a64b3671da5a4c056dc83cac9580abefd">_nCollision</a>(0) {</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <a class="code" href="../../d7/d6c/class_contact_constraint.html#a1960c9e63fdef6b115a00f812a33d8ab">_model</a> = model;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i(0); i &lt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a1960c9e63fdef6b115a00f812a33d8ab">_model</a>-&gt;_nGroundContact; ++i) {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;      <a class="code" href="../../d7/d6c/class_contact_constraint.html#a61e12845deb086ef378239f7220abd16">_cp_force_list</a>.push_back(<a class="code" href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3&lt;T&gt;::Zero</a>());</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    }</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;  }</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#ae795ddbfbd28d87f6e0dfb9e9f8ef838">   30</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#ae795ddbfbd28d87f6e0dfb9e9f8ef838">~ContactConstraint</a>() {}</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a8ac93d67428573f388f0a349502eb63f">   36</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#a8ac93d67428573f388f0a349502eb63f">AddCollision</a>(<a class="code" href="../../df/dc6/class_collision.html">Collision&lt;T&gt;</a>* collision) {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="../../d7/d6c/class_contact_constraint.html#a6adad1db7d60e53899d1400ac687df1d">_collision_list</a>.push_back(collision);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    ++<a class="code" href="../../d7/d6c/class_contact_constraint.html#a64b3671da5a4c056dc83cac9580abefd">_nCollision</a>;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  }</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#a6b89e1a3aafb28f26a14a77d294fb062">UpdateExternalForces</a>(T K, T D, T dt) = 0;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#a16cbace2441dccfd4b0754fbf7a640f9">UpdateQdot</a>(<a class="code" href="../../de/d75/struct_f_b_model_state.html">FBModelState&lt;T&gt;</a>&amp; state) = 0;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a7a96c50ca8f3f2128d753fe2fc26e21c">   60</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned&lt;Vec3&lt;T&gt;</a>&gt;&amp; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a7a96c50ca8f3f2128d753fe2fc26e21c">getContactPosList</a>() { <span class="keywordflow">return</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#afcb49c92ac2393dd785a59048f009877">_cp_pos_list</a>; }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a17a5cecdbd67cf1fed3fa0272c0522eb">   67</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3&lt;T&gt;</a>&amp; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a17a5cecdbd67cf1fed3fa0272c0522eb">getGCForce</a>(<span class="keywordtype">size_t</span> idx) { <span class="keywordflow">return</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#a61e12845deb086ef378239f7220abd16">_cp_force_list</a>[idx]; }</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a62c13bcf46c4c8bcb57bef2922130c68">   70</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned&lt;Vec2&lt;T&gt;</a>&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a62c13bcf46c4c8bcb57bef2922130c68">deflectionRate</a>;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#ab5d51a50a75c85c530968b2d07b538fe">_groundContactWithOffset</a>(T K, T D);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#ab571431122630a97f79c2b111ad170bb">_CheckContact</a>();</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#af87f3e8c0999e70bd1539c06df1861d0">   75</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned&lt;Vec2&lt;T&gt;</a>&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#af87f3e8c0999e70bd1539c06df1861d0">_tangentialDeflections</a>;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a06400ae9c1cbe246b8d5c048a22e3f58">   77</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#a06400ae9c1cbe246b8d5c048a22e3f58">_nContact</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a64b3671da5a4c056dc83cac9580abefd">   78</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="../../d7/d6c/class_contact_constraint.html#a64b3671da5a4c056dc83cac9580abefd">_nCollision</a>;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a1960c9e63fdef6b115a00f812a33d8ab">   80</a></span>&#160;  <a class="code" href="../../d6/db1/class_floating_base_model.html">FloatingBaseModel&lt;T&gt;</a>* <a class="code" href="../../d7/d6c/class_contact_constraint.html#a1960c9e63fdef6b115a00f812a33d8ab">_model</a>;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a6adad1db7d60e53899d1400ac687df1d">   82</a></span>&#160;  std::vector&lt;Collision&lt;T&gt;*&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a6adad1db7d60e53899d1400ac687df1d">_collision_list</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#ab9b81b0055f2160f7ea36b2b67b21020">   83</a></span>&#160;  std::vector&lt;size_t&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#ab9b81b0055f2160f7ea36b2b67b21020">_idx_list</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a119224ec741efa7a40b69913f3ef361a">   84</a></span>&#160;  std::vector&lt;T&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a119224ec741efa7a40b69913f3ef361a">_cp_resti_list</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a54c3df629004fa58dc718cd93d2cfdd1">   85</a></span>&#160;  std::vector&lt;T&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a54c3df629004fa58dc718cd93d2cfdd1">_cp_mu_list</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a2595236561f67287ca6d75a8ce5757a0">   87</a></span>&#160;  std::vector&lt;T&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a2595236561f67287ca6d75a8ce5757a0">_cp_penetration_list</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a61e12845deb086ef378239f7220abd16">   88</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned&lt;Vec3&lt;T&gt;</a>&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a61e12845deb086ef378239f7220abd16">_cp_force_list</a>;  <span class="comment">// For All contact point w.r.t Global</span></div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#a1d73c11418c9857fce9b14c4303f1139">   89</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned&lt;Vec3&lt;T&gt;</a>&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#a1d73c11418c9857fce9b14c4303f1139">_cp_local_force_list</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#afcb49c92ac2393dd785a59048f009877">   90</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned&lt;Vec3&lt;T&gt;</a>&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#afcb49c92ac2393dd785a59048f009877">_cp_pos_list</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="../../d7/d6c/class_contact_constraint.html#ab9247eb5e4008dc4298929e7fcac8d32">   91</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned&lt;Mat3&lt;T&gt;</a>&gt; <a class="code" href="../../d7/d6c/class_contact_constraint.html#ab9247eb5e4008dc4298929e7fcac8d32">_cp_frame_list</a>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;};</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="class_contact_constraint_html_a6b89e1a3aafb28f26a14a77d294fb062"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a6b89e1a3aafb28f26a14a77d294fb062">ContactConstraint::UpdateExternalForces</a></div><div class="ttdeci">virtual void UpdateExternalForces(T K, T D, T dt)=0</div></div>
<div class="ttc" id="class_contact_constraint_html_a16cbace2441dccfd4b0754fbf7a640f9"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a16cbace2441dccfd4b0754fbf7a640f9">ContactConstraint::UpdateQdot</a></div><div class="ttdeci">virtual void UpdateQdot(FBModelState&lt; T &gt; &amp;state)=0</div></div>
<div class="ttc" id="class_contact_constraint_html_a119224ec741efa7a40b69913f3ef361a"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a119224ec741efa7a40b69913f3ef361a">ContactConstraint::_cp_resti_list</a></div><div class="ttdeci">std::vector&lt; T &gt; _cp_resti_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00084">ContactConstraint.h:84</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a64b3671da5a4c056dc83cac9580abefd"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a64b3671da5a4c056dc83cac9580abefd">ContactConstraint::_nCollision</a></div><div class="ttdeci">size_t _nCollision</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00078">ContactConstraint.h:78</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a54c3df629004fa58dc718cd93d2cfdd1"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a54c3df629004fa58dc718cd93d2cfdd1">ContactConstraint::_cp_mu_list</a></div><div class="ttdeci">std::vector&lt; T &gt; _cp_mu_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00085">ContactConstraint.h:85</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a61e12845deb086ef378239f7220abd16"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a61e12845deb086ef378239f7220abd16">ContactConstraint::_cp_force_list</a></div><div class="ttdeci">vectorAligned&lt; Vec3&lt; T &gt; &gt; _cp_force_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00088">ContactConstraint.h:88</a></div></div>
<div class="ttc" id="class_contact_constraint_html_afcb49c92ac2393dd785a59048f009877"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#afcb49c92ac2393dd785a59048f009877">ContactConstraint::_cp_pos_list</a></div><div class="ttdeci">vectorAligned&lt; Vec3&lt; T &gt; &gt; _cp_pos_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00090">ContactConstraint.h:90</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a7a96c50ca8f3f2128d753fe2fc26e21c"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a7a96c50ca8f3f2128d753fe2fc26e21c">ContactConstraint::getContactPosList</a></div><div class="ttdeci">const vectorAligned&lt; Vec3&lt; T &gt; &gt; &amp; getContactPosList()</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00060">ContactConstraint.h:60</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a6adad1db7d60e53899d1400ac687df1d"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a6adad1db7d60e53899d1400ac687df1d">ContactConstraint::_collision_list</a></div><div class="ttdeci">std::vector&lt; Collision&lt; T &gt; * &gt; _collision_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00082">ContactConstraint.h:82</a></div></div>
<div class="ttc" id="cpp_types_8h_html_a6f07728c866b15ff0676a9b2ebfd2ba6"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3</a></div><div class="ttdeci">typename Eigen::Matrix&lt; T, 3, 1 &gt; Vec3</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d8e/cpp_types_8h_source.html#l00026">cppTypes.h:26</a></div></div>
<div class="ttc" id="cpp_types_8h_html"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html">cppTypes.h</a></div></div>
<div class="ttc" id="class_contact_constraint_html_ab9247eb5e4008dc4298929e7fcac8d32"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#ab9247eb5e4008dc4298929e7fcac8d32">ContactConstraint::_cp_frame_list</a></div><div class="ttdeci">vectorAligned&lt; Mat3&lt; T &gt; &gt; _cp_frame_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00091">ContactConstraint.h:91</a></div></div>
<div class="ttc" id="_utilities__print_8h_html"><div class="ttname"><a href="../../d3/d68/_utilities__print_8h.html">Utilities_print.h</a></div></div>
<div class="ttc" id="class_contact_constraint_html_ab5d51a50a75c85c530968b2d07b538fe"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#ab5d51a50a75c85c530968b2d07b538fe">ContactConstraint::_groundContactWithOffset</a></div><div class="ttdeci">void _groundContactWithOffset(T K, T D)</div></div>
<div class="ttc" id="class_contact_constraint_html_a8ac93d67428573f388f0a349502eb63f"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a8ac93d67428573f388f0a349502eb63f">ContactConstraint::AddCollision</a></div><div class="ttdeci">void AddCollision(Collision&lt; T &gt; *collision)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00036">ContactConstraint.h:36</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a06400ae9c1cbe246b8d5c048a22e3f58"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a06400ae9c1cbe246b8d5c048a22e3f58">ContactConstraint::_nContact</a></div><div class="ttdeci">size_t _nContact</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00077">ContactConstraint.h:77</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a1d73c11418c9857fce9b14c4303f1139"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a1d73c11418c9857fce9b14c4303f1139">ContactConstraint::_cp_local_force_list</a></div><div class="ttdeci">vectorAligned&lt; Vec3&lt; T &gt; &gt; _cp_local_force_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00089">ContactConstraint.h:89</a></div></div>
<div class="ttc" id="_collision_8h_html"><div class="ttname"><a href="../../d9/d87/_collision_8h.html">Collision.h</a></div><div class="ttdoc">Virtual class of Collision logic. </div></div>
<div class="ttc" id="struct_f_b_model_state_html"><div class="ttname"><a href="../../de/d75/struct_f_b_model_state.html">FBModelState</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9a/_floating_base_model_8h_source.html#l00038">FloatingBaseModel.h:38</a></div></div>
<div class="ttc" id="class_contact_constraint_html_ab9b81b0055f2160f7ea36b2b67b21020"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#ab9b81b0055f2160f7ea36b2b67b21020">ContactConstraint::_idx_list</a></div><div class="ttdeci">std::vector&lt; size_t &gt; _idx_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00083">ContactConstraint.h:83</a></div></div>
<div class="ttc" id="class_contact_constraint_html_ae795ddbfbd28d87f6e0dfb9e9f8ef838"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#ae795ddbfbd28d87f6e0dfb9e9f8ef838">ContactConstraint::~ContactConstraint</a></div><div class="ttdeci">virtual ~ContactConstraint()</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00030">ContactConstraint.h:30</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a1960c9e63fdef6b115a00f812a33d8ab"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a1960c9e63fdef6b115a00f812a33d8ab">ContactConstraint::_model</a></div><div class="ttdeci">FloatingBaseModel&lt; T &gt; * _model</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00080">ContactConstraint.h:80</a></div></div>
<div class="ttc" id="class_contact_constraint_html"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html">ContactConstraint</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00020">ContactConstraint.h:20</a></div></div>
<div class="ttc" id="class_contact_constraint_html_af87f3e8c0999e70bd1539c06df1861d0"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#af87f3e8c0999e70bd1539c06df1861d0">ContactConstraint::_tangentialDeflections</a></div><div class="ttdeci">vectorAligned&lt; Vec2&lt; T &gt; &gt; _tangentialDeflections</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00075">ContactConstraint.h:75</a></div></div>
<div class="ttc" id="cpp_types_8h_html_a078e1eaa8a3af13cef27a0a8d0c1302e"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned</a></div><div class="ttdeci">typename std::vector&lt; T, Eigen::aligned_allocator&lt; T &gt;&gt; vectorAligned</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d8e/cpp_types_8h_source.html#l00118">cppTypes.h:118</a></div></div>
<div class="ttc" id="class_floating_base_model_html"><div class="ttname"><a href="../../d6/db1/class_floating_base_model.html">FloatingBaseModel</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9a/_floating_base_model_8h_source.html#l00069">FloatingBaseModel.h:69</a></div></div>
<div class="ttc" id="class_collision_html"><div class="ttname"><a href="../../df/dc6/class_collision.html">Collision</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d87/_collision_8h_source.html#l00017">Collision.h:17</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a17a5cecdbd67cf1fed3fa0272c0522eb"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a17a5cecdbd67cf1fed3fa0272c0522eb">ContactConstraint::getGCForce</a></div><div class="ttdeci">const Vec3&lt; T &gt; &amp; getGCForce(size_t idx)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00067">ContactConstraint.h:67</a></div></div>
<div class="ttc" id="class_contact_constraint_html_ad8522d960d6669a66de9d1e5ffe6d8a2"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#ad8522d960d6669a66de9d1e5ffe6d8a2">ContactConstraint::ContactConstraint</a></div><div class="ttdeci">ContactConstraint(FloatingBaseModel&lt; T &gt; *model)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00022">ContactConstraint.h:22</a></div></div>
<div class="ttc" id="class_contact_constraint_html_ab571431122630a97f79c2b111ad170bb"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#ab571431122630a97f79c2b111ad170bb">ContactConstraint::_CheckContact</a></div><div class="ttdeci">size_t _CheckContact()</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d02/_contact_constraint_8cpp_source.html#l00008">ContactConstraint.cpp:8</a></div></div>
<div class="ttc" id="class_contact_constraint_html_a62c13bcf46c4c8bcb57bef2922130c68"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a62c13bcf46c4c8bcb57bef2922130c68">ContactConstraint::deflectionRate</a></div><div class="ttdeci">vectorAligned&lt; Vec2&lt; T &gt; &gt; deflectionRate</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00070">ContactConstraint.h:70</a></div></div>
<div class="ttc" id="_floating_base_model_8h_html"><div class="ttname"><a href="../../d5/d9a/_floating_base_model_8h.html">FloatingBaseModel.h</a></div><div class="ttdoc">Implementation of Rigid Body Floating Base model data structure. </div></div>
<div class="ttc" id="class_contact_constraint_html_a2595236561f67287ca6d75a8ce5757a0"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html#a2595236561f67287ca6d75a8ce5757a0">ContactConstraint::_cp_penetration_list</a></div><div class="ttdeci">std::vector&lt; T &gt; _cp_penetration_list</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00087">ContactConstraint.h:87</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../dir_43e0a1f539e00dcfa1a6bc4d4fee4fc2.html">home</a></li><li class="navelem"><a class="el" href="../../dir_61bfb0b3cdda81b1b0355ba34eb3b1eb.html">dhkim</a></li><li class="navelem"><a class="el" href="../../dir_adee5b101e079090017bb4e91c628ead.html">Public_Repository</a></li><li class="navelem"><a class="el" href="../../dir_7fc07a7b97001e7b1d18e11da761e2de.html">Cheetah-Software</a></li><li class="navelem"><a class="el" href="../../dir_860379c26524a894b3cf97b5b1ba5bdb.html">common</a></li><li class="navelem"><a class="el" href="../../dir_275ce76ae8a9e2090fbb7142d3994a0e.html">include</a></li><li class="navelem"><a class="el" href="../../dir_9f3746ebe7983c5cb005f7fd6ef8aef4.html">Collision</a></li><li class="navelem"><a class="el" href="../../d5/d79/_contact_constraint_8h.html">ContactConstraint.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
